package com.gitee.zhangchenyan.takin.event.consumer;


/**
 * 消费者接口
 *
 * @author zl
 * @date 2022/09/15
 */
public interface IEventBusSubscriber {
    /**
     * 得到主题名称
     *
     * @return {@link String 主题名称}
     */
    String getTopicName();

    /**
     * 执行
     *
     * @param data 数据
     */
    void execute(String data);


    /**
     * 得到分组ID
     *
     * @return {@link String 分组ID}
     */
   default String getGroupId(){
       return getTopicName();
   };

    /**
     * 得到每次消费最大的条数
     * 每次从队列中拉取数据的最大条数
     * @return int
     */
    default int getMaxPollRecords(){
       return 10;
   }
}
